package com.cssw.fyzb.core.mao.video;

import com.cssw.fyzb.core.model.mos.VideoStatMo;

/**
 * @author Feng Chen
 */
public interface VideoStatMao {

    /**
     * 查询视频统计信息
     *
     * @param videoId 视频编号
     * @return 视频统计信息
     */
    VideoStatMo findByVideoId(Long videoId);

    /**
     * 添加统计记录
     *
     * @param videoStatMo
     */
    void save(VideoStatMo videoStatMo);

    /**
     * 增加点赞数
     *
     * @param videoId
     */
    void incLikes(Long videoId);

    /**
     * 增加点赞数
     *
     * @param videoId
     */
    void incLikes(Long videoId, Integer num);

    /**
     * 减少点赞数
     * @param videoId
     */
    void decLikes(Long videoId);

    /**
     * 增加浏览数
     *
     * @param videoId
     */
    void incViews(Long videoId);

    /**
     * 增加点赞数
     *
     * @param videoId
     */
    void incViews(Long videoId, Integer num);

    /**
     * 增加评论数
     *
     * @param videoId
     */
    void incComments(Long videoId);

    /**
     * 增加分享数
     *
     * @param videoId
     */
    void incShares(Long videoId);

}
